Wireless radio communication systems are known. Such systems can be designed for the radio frequency (RF) transmission of voice and/or data. While there are many transmission schemes available for the transmission of voice, there are only a small number of such techniques that can be reliably used for the transmission of data. Further, due to the length and nature of the informational content, the transmission of data is subject to a variety of limitations. Among these are available bandwidth and conflicting compression techniques.
RF data transmission schemes operate in a bandwidth-limited environment. Today, when forward error correction (FEC) is added to data transmissions, an effective throughput of approximately 14400 bits per second (14.4 kbps) per RF channel is feasible. This throughput must be shared between multiple users of the channel resource. Compare this situation with users of a wireline WAN (where each user may have upwards of 28.8 kbps capacity, no matter how many users), or a high speed WAN (where many users share an aggregate throughput between 10,000,000 bits per second, 10 Mbps, and 145 Mbps). To emphasize the disparity between a wireless and wireline system, consider a fully loaded RF data system supporting 100 users equally; here, single user throughput is 0.5% to 10.sup.-6 the throughput of available wireline data systems.
In a typical RF data transmission scheme, packet data messages contain headers, which are used to control the protocol functions. These headers can consume considerable bandwidth on an RF channel, hence it is desirable to compress these headers. There are two levels of header-specific compression techniques typically employed; a first level of compression is obtained by removing redundant, static (unchanging during a communication session) information. A second level of compression is obtained by encoding only the differences of infrequently or slowly changing fields as differences (commonly referred to as differential encoding). It is known that differential encoding substantially improves performance for many protocols, but requires state information to be maintained at the sending and receiving end. Detrimentally, if any packets are lost or damaged on the RF link, some means of re-establishing this state information must be provided. This is true of all types of headers, including those used in the transmission control protocol/internet protocol (TCP/IP) scheme, as described below.
A known method developed by Van Jacobson for compressing TCP/IP headers uses both removal of redundant static information and differential encoding of predictably changing information. This method achieves favorable compression results and uses the overlying TCP error correction procedures to reset the state after an error occurs. While this is a simple solution to the problems involving the state information, it creates significant problems in RF environments. In particular, these environments typically introduce frequent errors, many of which can be characterized as burst, or short duration, errors. When such an error occurs, data transmission stops until the protocol times out and retries sending. Not only is undesirable delay introduced, but TCP assumes all errors are due to network congestion and initiates congestion control procedures. Of course, this is not always a correct response, unnecessarily resulting in further degradation in performance. It should be noted that this scheme works well in an environment of limited errors (i.e., wireline), but not in a typical RF environment.
For an RF environment, system designers are urged to use a reliable link to minimize the possibility of data loss. While this approach is acceptable for packets containing user data, it typically is not acceptable for small control packets, such as acknowledgments. As is known, these acknowledgments are commonly sent by TCP in the reverse direction during a data transfer. Further, they include a great deal of redundancy--i.e., if a few acknowledgments get lost it will not affect TCP. While it would be beneficial to avoid the costly use of a reliable link for these shortened packets, the current art in header compression requires us to use them in order to maintain compressor state.
It is known that connectionless protocols such as UDP do not employ acknowledgments, so failed transmissions of differentially encoded header fields are treated no differently from failed transmissions of non-UDP packets in current packet radio systems. For this reason, current RF packet data applications are connectionless and transaction oriented. That is, each message is directed to its recipient without maintaining a connection context between the message endpoints, and each message contains the data for a single transaction. With the inclusion of IP and UDP headers, current legacy applications can remain otherwise unchanged, allowing application development cost savings, while graduating to the generality of IP solutions.
Thus, it is envisaged that, in an IP-based RF data system, TCP can be used to support commercial, generalized applications ("horizontal"), while UDP can support legacy, specialized, transaction applications ("vertical"). The desire to support both application types on a single mobile computing platform requires efficient use of available bandwidth. This efficiency might be gained by reducing message size for UDP datagrams via differential header compression, while simultaneously reducing retransmissions of TCP packets (resulting from lost acknowledgments) by providing delivery of ACK packets optimized for robust RF delivery.
Accordingly, there exists a need for a wireless data communication system that takes advantage of existing compression techniques while being adaptive to transmission protocols that are advantageous for the robust transmission of RF data. In particular, a packet transmission scheme that operates in a limited bandwidth environment and has improved error correction would be an improvement over the prior art.